package linda.test;

import linda.Linda;
import linda.Tuple;

public class BasicTestRMI1 {
public static void main(String[] a) {
		
        final Linda linda = new linda.server.LindaClient("localhost");
        // final Linda linda = new linda.server.LindaClient("//localhost:4000/aaa");
		
        new Thread() {
            public void run() {
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Tuple motif = new Tuple(Integer.class, String.class);
                Tuple res = linda.take(motif);
                System.out.println("(1) Resultat:" + res);
                linda.debug("(1)");
                
                // test if the tuple as been removed
                res = linda.tryTake(motif);
                if (res == null)
                	System.out.println("It works: the matching tuple as been removed by the take method!");
                else
                	System.out.println("It doesn't works: the matching tuple asn't been removed by the take method!");
            }
        }.start();
		
        new Thread() {
            public void run() {
                try {
                    Thread.sleep(2);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                Tuple t1 = new Tuple(4, 5);
                System.out.println("(2) write: " + t1);
                linda.write(t1);

                Tuple t11 = new Tuple(4, 5);
                System.out.println("(2) write: " + t11);
                linda.write(t11);

                Tuple t2 = new Tuple("hello", 15);
                System.out.println("(2) write: " + t2);
                linda.write(t2);

                Tuple t3 = new Tuple(4, "foo");
                System.out.println("(2) write: " + t3);
                linda.write(t3);
                
				
                linda.debug("(2)");

            }
        }.start();
		
    }
}
